
const db = require('../databases/db.js')
const bcrypt = require('bcryptjs')

// 注册用户的处理函数
module.exports.regUser = (req,res)=>{
	// 获取客户端提交到服务器的用户信息
	const userInfo = req.body  // console.log(userInfo)
	// 对表单中的数据进行合法性校验
	if(!userInfo.Username || !userInfo.Password){
		return res.send({
			status:1,
			msg:'用户名或密码不能为空！'
		})
	}
	// 定义sql查询语句，查询用户名是否被占用
	const sqlStr = 'select * from ev_users where Username=?'
	db.query(sqlStr, [userInfo.Username], (err, results) =>{
		// 执行sql语句失败
		if(err){
			return res.send({
				status:1,
				msg:err.message
			})
		}
		// 判断用户名是否被占用
		if (results.length > 0) {
			return res.send({
				status:1,
				msg:'用户名已被占用，请更换其他用户名！'
			})
		}
		
		// 用户名可以使用...进行后续的流程
		console.log(userInfo)
		// 调用bcrypt.hashSync() 对密码进行加密
		userInfo.Password = bcrypt.hashSync(userInfo.Password, 10)
		console.log(userInfo)
		
		// 定义sql插入语句，插入新用户
		const sqlIst = 'insert into ev_users set ?'
		// 调用db.query()执行sql语句
		db.query(sqlIst,{Username: userInfo.Username, Password: userInfo.Password}, (err, results) => {
		// 判断sql语句是否执行成功
		if(err) return res.send({status:1, msg:err.message})
		// 判断数据库在插入时，是否只影响了一行数据
		if(results.affectedRows !== 1) return res.send({status:1, msg:err.message})
		})
		// 注册用户成功
		res.send({status: 0, msg: '注册成功！'})
	})
}



module.exports.loginUser = (req,res)=>{
	res.send('login go!')
}